package com.aynu.gulimall.cart;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.openfeign.EnableFeignClients;
import org.springframework.session.data.redis.config.annotation.web.http.EnableRedisHttpSession;

/**
 * 1、整合sentinel
 * 		1）导入依赖，common包
 * 		2）下载sentinel的控制台
 * 		3）配置sentinel控制台信息
 * 		4）在控制台调整参数。【默认所有的流控设置保存在内存中，重启失效】
 * 2、每一个微服务导入信息审计模块,并配置信息
 * management:
 *   endpoints:
 *     web:
 *       exposure:
 *         include: *
 * 3、自定义返回
 * 4、使用sentinel来保护feign远程调用：熔断
 * 	1）、调用方的熔断保护：feign.sentinel.enabled=true
 * 	2)、调用方手动指定远程服务的降级策略
 * 	3）、超大浏览量时，必须牺牲一些远程服务。在服务的提供方（远程服务）指定降级策略：
 * 		提供方是运行。但是不运行自己的业务逻辑，返回得是默认的降级数据（限流的数据）
 * 5、自定义降级资源
 * 	1）、try(Entry entry = SphU.entry("currentUserCartItems")) {}catch(BlockException){}
 */
@EnableRedisHttpSession
@EnableFeignClients
@EnableDiscoveryClient
@SpringBootApplication
public class GulimallCartApplication {

	public static void main(String[] args) {
		SpringApplication.run(GulimallCartApplication.class, args);
	}

}
